/*******************************************************************************
 * Copyright (c) 2010 liw.
 * All rights reserved. 
 * 
 * This file is part of VanBus.
 * 
 *     VanBus is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 * 
 *     VanBus is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 * 
 *     You should have received a copy of the GNU General Public License
 *     along with VanBus.  If not, see <http://www.gnu.org/licenses/>.
 * Contributors:
 *     liw - initial API and implementation
 ******************************************************************************/
package org.niclab.vanbus.query.ws;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.ParseException;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.niclab.vanbus.model.BusRoute;
import org.niclab.vanbus.model.viewadpater.CommonExpandableListAdapter;


import android.util.Log;

public class RouteDirWSQueryResResolver extends BaseResponseResolver<RouteDirWSQueryResResolver.QueryResult>{
	
	public static class QueryResult{
		List<BusRoute> routes = new ArrayList<BusRoute>();
		
		public void addRoute(BusRoute route){
			routes.add(route);
		}
		
		public List<BusRoute> getRoutes(){
			return routes;
		}
	}
	
	private final String LOG_TAG="RouteDirWSQueryResHandler";

	@Override
	protected QueryResult interpret(HttpEntity entity) {
		JSONArray json =null;

		QueryResult result = new QueryResult();
		
		try {
			String resp = EntityUtils.toString(entity);
			json= new JSONArray(resp);
			for(int i=0;i<json.length();i++){
				
					String dir = json.getJSONArray(i).getString(0);
					String dirDesc = json.getJSONArray(i).getString(1);
					BusRoute route = new BusRoute();
					route.setRouteDir(dir);
					route.setRouteDirDesp(dirDesc);
					result.addRoute(route);
				
				
			}
			
			//model.setChildrenList(this.groupPos,routes);
			
		} catch (JSONException e) {
			Log.e(LOG_TAG,"JSONArray unmarshing  exception");
			e.printStackTrace();
		} catch (ParseException e) {
			Log.e(LOG_TAG,"parse response Entity exception");
			e.printStackTrace();
		} catch (IOException e) {
			Log.e(LOG_TAG,"IOException parse response Entity");
			e.printStackTrace();
		}
		return result;
		
	}
	

	

}
